﻿#ifndef MSG_CONFIG_H
#define MSG_CONFIG_H

#include <QObject>
#include "msg.h" 

class Msg_Config : public Msg
{
	Q_OBJECT
public:
	explicit Msg_Config(QObject* parent = nullptr);

public:
	quint8 Head0 = 0xFF;                         //固定头	7-0	uint8_t FF

	quint8 CmdID;         //命令字	7-0	uint8_t	0			0:获取设备当前状态，1:修改并获取设备状态
	quint8 DeviceID;               //2	节点id	7-0	uint8_t	0			0-23表示以太网节点，24-89表示can节点，90-155表示422节点        内容
	quint8 Mode;             //3	节点	输出模式	7-0	uint8_t	0			0:不输出，1:固定值输出，2:正弦波，3:余弦波，4:方波
	float Value;             //4-7	节点值	31-0	float				模式为0时表示输出值，其他模式时表示输出的峰值
	float Frequency;             //8-11	节点频率	31-0		float	0			模式0时无效，其他模式时表示输出频率，单位Hz
	float Phase;        //12-15	节点相位偏移	31-0		float	0			模式0时无效，模式2或3时表示偏移相位的百分比，范围[0,1]，模式4时表示占空比

//	quint16 Checksum;                             //校验	N-2,N-1	校验和	15-0	uint16 t	0


public:

	QByteArray  ToByte() override;

};

#endif // MSG_CONFIG_H
